class Solution(object):
    '''
    给定一个非空且只包含非负数的整数数组 nums，数组的 度 的定义是指数组里任一元素出现频数的最大值。

    你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组，返回其长度。

    思路
    1、先确定重复出现数字是最多的是谁
    2、再确定这些数字是从什么时候开始，什么时候结束的。
    3、再把这些数字添加到一个数组里
    4、输出数组的长度即可。
    '''

    def findShortestSubArray(self, nums):
        maxRepetition = 0 # 最大连续重复数量
        maxRepetition1 = 0  # 当前连续重复数字数量1
        maxRepetition2 = 0  # 当前连续重复数字数量2
        continuousNum = 0  # 当前连续重复的数字值
        arrayNum = len(nums) # 减1是为了得到数组的最大下标值
        for i in range(arrayNum):
            if nums[i] != continuousNum or nums[i] == 0:
                for j in range(arrayNum): # 遍历整个数组
                    if nums[i] == nums[j]: # 判断出现的次数
                        maxRepetition1 +=1
                        continuousNum = nums[j] # 当前重复数字为
                        if maxRepetition < maxRepetition1: # 最大重复数的数量
                            maxRepetition = maxRepetition1
                            maxRepetition1 = 0
        return maxRepetition



# 开始测试
solution = Solution()  # 实例化对象
nums = [1,2,1,1,3,2,2,1,1]
print(solution.findShortestSubArray(nums))  # 输出重复长度
